\hypertarget{class_encoder_motor_controller}{\section{Encoder\-Motor\-Controller Class Reference}
\label{class_encoder_motor_controller}\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}}
}


{\ttfamily \#include $<$Encoder\-Motor\-Controller.\-hpp$>$}

Inheritance diagram for Encoder\-Motor\-Controller\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_encoder_motor_controller}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_encoder_motor_controller_a476507fccf3996a16f7e049af8be6caa}{{\bfseries Encoder\-Motor\-Controller} (boost\-::shared\-\_\-ptr$<$ Speed\-Controller $>$ motor, boost\-::shared\-\_\-ptr$<$ Encoder $>$ encoder, float period=0.\-05)}\label{class_encoder_motor_controller_a476507fccf3996a16f7e049af8be6caa}

\item 
\hypertarget{class_encoder_motor_controller_ac718536487ebaf7a5661f6d106bcd4ea}{{\bfseries Encoder\-Motor\-Controller} (boost\-::shared\-\_\-ptr$<$ Speed\-Controller $>$ motor, U\-I\-N\-T32 encoder\-Channel\-A, U\-I\-N\-T32 encoder\-Channel\-B, bool encoder\-Reverse\-Direction=false, float period=0.\-05)}\label{class_encoder_motor_controller_ac718536487ebaf7a5661f6d106bcd4ea}

\item 
\hyperlink{class_encoder_motor_controller_ae44337dc1d0fa88e7a8a1c52fbbedd56}{Encoder\-Motor\-Controller} (Speed\-Controller $\ast$motor, Encoder $\ast$encoder, float period=0.\-05)
\item 
\hyperlink{class_encoder_motor_controller_ac5e271ac849ab7b170dfc0b101b4fcbb}{Encoder\-Motor\-Controller} (Speed\-Controller $\ast$motor, U\-I\-N\-T32 encoder\-Channel\-A, U\-I\-N\-T32 encoder\-Channel\-B, bool encoder\-Reverse\-Direction=false, float period=0.\-05)
\item 
\hyperlink{class_encoder_motor_controller_a09908e1b592d44c015a7727c9a0d2347}{Encoder\-Motor\-Controller} (Speed\-Controller \&motor, Encoder \&encoder, float period=0.\-05)
\item 
\hyperlink{class_encoder_motor_controller_aafcc81dc498be689a653a12784f4e697}{Encoder\-Motor\-Controller} (Speed\-Controller \&motor, U\-I\-N\-T32 encoder\-Channel\-A, U\-I\-N\-T32 encoder\-Channel\-B, bool encoder\-Reverse\-Direction=false, float period=0.\-05)
\item 
virtual void \hyperlink{class_encoder_motor_controller_a9178f02fb11f9483f58b2e183855df90}{Set} (float value, U\-I\-N\-T8 sync\-Group=0)
\item 
virtual float \hyperlink{class_encoder_motor_controller_a249e6853027a2634373fe85bac1eaa1d}{Get} ()
\item 
virtual double \hyperlink{class_encoder_motor_controller_af68232d15fd9e415029fa288445c687d}{Get\-V\-Bus} ()
\item 
virtual double \hyperlink{class_encoder_motor_controller_ab1190239ea19ba8cca90ba0b973a3f93}{Get\-Speed} ()
\item 
virtual double \hyperlink{class_encoder_motor_controller_a07f26eb55451d40facae57c603f15283}{Get\-Position} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_a03960c90c7f38d94d8e7b5234d6edd80}{Enable} (double initial\-Encoder\-Position)
\item 
virtual void \hyperlink{class_encoder_motor_controller_a0f29b77718fb150f484aef04f55bf158}{Disable} ()
\item 
virtual \hyperlink{class_pid_motor_controller_a13eddfb79a251f572067f2e2f214b000}{Control\-Mode} \hyperlink{class_encoder_motor_controller_a03f8200c4067751112ffcf3f31885a05}{Get\-Control\-Mode} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_a070daf843ba72f0bc8fca42a00557c85}{Set\-Control\-Mode} (\hyperlink{class_pid_motor_controller_a13eddfb79a251f572067f2e2f214b000}{Control\-Mode} mode)
\item 
virtual void \hyperlink{class_encoder_motor_controller_a9c58bd48fb4d416ab132b3ae35367e11}{Set\-Encoders\-Codes\-Per\-Revolution} (U\-I\-N\-T16 codes\-Per\-Revolution)
\item 
virtual void \hyperlink{class_encoder_motor_controller_a38618c4eac712a8a99eb1af4052b7bd9}{Set\-Pid} (double p, double i, double d)
\item 
virtual double \hyperlink{class_encoder_motor_controller_a5d0475632150b2f5ee7dbea449b45092}{Get\-P} ()
\item 
virtual double \hyperlink{class_encoder_motor_controller_ab64a776dde1897091083c712c5686ade}{Get\-I} ()
\item 
virtual double \hyperlink{class_encoder_motor_controller_adb711b35bdef286ebf5ad94ccae4ffc6}{Get\-D} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_a01614b9738f296c3b8a93e04828ad4da}{Init\-Table} (I\-Table $\ast$subtable)
\item 
virtual I\-Table $\ast$ \hyperlink{class_encoder_motor_controller_ab16237b1f4a3e49cc725f7670b5f8329}{Get\-Table} ()
\item 
virtual std\-::string \hyperlink{class_encoder_motor_controller_ab79480abdc49326005cfe97954ee1c2a}{Get\-Smart\-Dashboard\-Type} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_a619fe4b5c3a9c30bcbcabfdd56b5b5cb}{Update\-Table} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_adaffe3e473477714456979687b5d49ba}{Start\-Live\-Window\-Mode} ()
\item 
virtual void \hyperlink{class_encoder_motor_controller_ab5f44b0310a5ed2590daa646b70843f4}{Stop\-Live\-Window\-Mode} ()
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
The \hyperlink{class_encoder_motor_controller}{Encoder\-Motor\-Controller} class pairs a Speed\-Controller and an Encoder into a \hyperlink{class_pid_motor_controller}{Pid\-Motor\-Controller} so F\-P\-K can use P\-I\-D-\/dependent features like Speed and Position/\-Distance control. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_encoder_motor_controller_ae44337dc1d0fa88e7a8a1c52fbbedd56}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}}
\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Encoder\-Motor\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}Encoder\-Motor\-Controller\-::\-Encoder\-Motor\-Controller (
\begin{DoxyParamCaption}
\item[{Speed\-Controller $\ast$}]{motor, }
\item[{Encoder $\ast$}]{encoder, }
\item[{float}]{period = {\ttfamily 0.05}}
\end{DoxyParamCaption}
)}}\label{class_encoder_motor_controller_ae44337dc1d0fa88e7a8a1c52fbbedd56}
Constructor for \hyperlink{class_encoder_motor_controller}{Encoder\-Motor\-Controller}.


\begin{DoxyParams}{Parameters}
{\em motor} & A pointer to the Speed\-Controller. \\
\hline
{\em encoder} & A pointer to the Encoder. \\
\hline
{\em period} & The desired time between P\-I\-D loops in seconds \\
\hline
\end{DoxyParams}
\hypertarget{class_encoder_motor_controller_ac5e271ac849ab7b170dfc0b101b4fcbb}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}}
\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Encoder\-Motor\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}Encoder\-Motor\-Controller\-::\-Encoder\-Motor\-Controller (
\begin{DoxyParamCaption}
\item[{Speed\-Controller $\ast$}]{motor, }
\item[{U\-I\-N\-T32}]{encoder\-Channel\-A, }
\item[{U\-I\-N\-T32}]{encoder\-Channel\-B, }
\item[{bool}]{encoder\-Reverse\-Direction = {\ttfamily false}, }
\item[{float}]{period = {\ttfamily 0.05}}
\end{DoxyParamCaption}
)}}\label{class_encoder_motor_controller_ac5e271ac849ab7b170dfc0b101b4fcbb}
Constructor for \hyperlink{class_encoder_motor_controller}{Encoder\-Motor\-Controller}.


\begin{DoxyParams}{Parameters}
{\em motor} & A pointer to the Speed\-Controller. \\
\hline
{\em encoder\-Channel\-A} & The first channel number of the encoder. \\
\hline
{\em encoder\-Channel\-B} & The second channel number of the encoder. \\
\hline
{\em encoder\-Reverse\-Direction} & If the encoder is reversed. \\
\hline
{\em period} & The desired time between P\-I\-D loops in seconds \\
\hline
\end{DoxyParams}
\hypertarget{class_encoder_motor_controller_a09908e1b592d44c015a7727c9a0d2347}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}}
\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Encoder\-Motor\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}Encoder\-Motor\-Controller\-::\-Encoder\-Motor\-Controller (
\begin{DoxyParamCaption}
\item[{Speed\-Controller \&}]{motor, }
\item[{Encoder \&}]{encoder, }
\item[{float}]{period = {\ttfamily 0.05}}
\end{DoxyParamCaption}
)}}\label{class_encoder_motor_controller_a09908e1b592d44c015a7727c9a0d2347}
Constructor for \hyperlink{class_encoder_motor_controller}{Encoder\-Motor\-Controller}.


\begin{DoxyParams}{Parameters}
{\em motor} & A reference to the Speed\-Controller. \\
\hline
{\em encoder} & A reference to the Encoder. \\
\hline
{\em period} & The desired time between P\-I\-D loops in seconds \\
\hline
\end{DoxyParams}
\hypertarget{class_encoder_motor_controller_aafcc81dc498be689a653a12784f4e697}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}}
\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Encoder\-Motor\-Controller}]{\setlength{\rightskip}{0pt plus 5cm}Encoder\-Motor\-Controller\-::\-Encoder\-Motor\-Controller (
\begin{DoxyParamCaption}
\item[{Speed\-Controller \&}]{motor, }
\item[{U\-I\-N\-T32}]{encoder\-Channel\-A, }
\item[{U\-I\-N\-T32}]{encoder\-Channel\-B, }
\item[{bool}]{encoder\-Reverse\-Direction = {\ttfamily false}, }
\item[{float}]{period = {\ttfamily 0.05}}
\end{DoxyParamCaption}
)}}\label{class_encoder_motor_controller_aafcc81dc498be689a653a12784f4e697}
Constructor for \hyperlink{class_encoder_motor_controller}{Encoder\-Motor\-Controller}.


\begin{DoxyParams}{Parameters}
{\em motor} & A reference to the Speed\-Controller. \\
\hline
{\em encoder\-Channel\-A} & The first channel number of the encoder. \\
\hline
{\em encoder\-Channel\-B} & The second channel number of the encoder. \\
\hline
{\em encoder\-Reverse\-Direction} & If the encoder is reversed. \\
\hline
{\em period} & The desired time between P\-I\-D loops in seconds \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{class_encoder_motor_controller_a0f29b77718fb150f484aef04f55bf158}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Disable@{Disable}}
\index{Disable@{Disable}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Disable}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Disable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a0f29b77718fb150f484aef04f55bf158}
Disable the motor and the internal P\-I\-D loop. \hypertarget{class_encoder_motor_controller_a03960c90c7f38d94d8e7b5234d6edd80}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Enable@{Enable}}
\index{Enable@{Enable}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Enable}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Enable (
\begin{DoxyParamCaption}
\item[{double}]{initial\-Encoder\-Position}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a03960c90c7f38d94d8e7b5234d6edd80}
Enable the motor and the internal P\-I\-D loop.

If the parameter initial\-Encoder\-Position is passed, the current position should be treated as initial\-Encoder\-Position.


\begin{DoxyParams}{Parameters}
{\em initial\-Encoder\-Position} & The initial position of the motor. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a43fd491df57bc20e6f54ff7bf561cb4a}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_a249e6853027a2634373fe85bac1eaa1d}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get@{Get}}
\index{Get@{Get}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get}]{\setlength{\rightskip}{0pt plus 5cm}float Encoder\-Motor\-Controller\-::\-Get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a249e6853027a2634373fe85bac1eaa1d}
Gets the current value of the motor.

What it gets depends on the currently set Control\-Mode.

\begin{DoxyReturn}{Returns}
The current value of the motor. 
\end{DoxyReturn}
\hypertarget{class_encoder_motor_controller_a03f8200c4067751112ffcf3f31885a05}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-Control\-Mode@{Get\-Control\-Mode}}
\index{Get\-Control\-Mode@{Get\-Control\-Mode}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-Control\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Pid\-Motor\-Controller\-::\-Control\-Mode} Encoder\-Motor\-Controller\-::\-Get\-Control\-Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a03f8200c4067751112ffcf3f31885a05}
Get the current Control\-Mode that the motor is in.

\begin{DoxyReturn}{Returns}
The current Control\-Mode. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a79f8cbc8e9eb867722cd0cf7eb12772a}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_adb711b35bdef286ebf5ad94ccae4ffc6}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-D@{Get\-D}}
\index{Get\-D@{Get\-D}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-D}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-D (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_adb711b35bdef286ebf5ad94ccae4ffc6}
Get the current D value

\begin{DoxyReturn}{Returns}
The current D value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a6d40a6d4c2cbb8d34babee2fb9f5c098}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_ab64a776dde1897091083c712c5686ade}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-I@{Get\-I}}
\index{Get\-I@{Get\-I}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-I}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-I (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_ab64a776dde1897091083c712c5686ade}
Get the current I value

\begin{DoxyReturn}{Returns}
The current I value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_aff6dea3afe08690864c68b4962535fd1}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_a5d0475632150b2f5ee7dbea449b45092}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-P@{Get\-P}}
\index{Get\-P@{Get\-P}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-P}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-P (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a5d0475632150b2f5ee7dbea449b45092}
Get the current P value

\begin{DoxyReturn}{Returns}
The current P value. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_ac78e406263f408dbf96b8c36e6e27e46}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_a07f26eb55451d40facae57c603f15283}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-Position@{Get\-Position}}
\index{Get\-Position@{Get\-Position}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-Position}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-Position (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a07f26eb55451d40facae57c603f15283}
Get the current position in units of rotations that the motor has reached since motor was enabled.

\begin{DoxyReturn}{Returns}
The current position of the motor. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_aed237a512f0edbdc968d2a89932ba8aa}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_ab79480abdc49326005cfe97954ee1c2a}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-Smart\-Dashboard\-Type@{Get\-Smart\-Dashboard\-Type}}
\index{Get\-Smart\-Dashboard\-Type@{Get\-Smart\-Dashboard\-Type}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-Smart\-Dashboard\-Type}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string Encoder\-Motor\-Controller\-::\-Get\-Smart\-Dashboard\-Type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_ab79480abdc49326005cfe97954ee1c2a}
Get the string representing the named data type of the P\-I\-D loop controller object.

Unless you use Network\-Tables, don't worry about this function.

\begin{DoxyReturn}{Returns}
The string representing the named data type of the P\-I\-D loop controller object. 
\end{DoxyReturn}
\hypertarget{class_encoder_motor_controller_ab1190239ea19ba8cca90ba0b973a3f93}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-Speed@{Get\-Speed}}
\index{Get\-Speed@{Get\-Speed}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-Speed}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-Speed (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_ab1190239ea19ba8cca90ba0b973a3f93}
Get the current speed that the motor is running in rotations per second.

\begin{DoxyReturn}{Returns}
The current speed of the motor in rotations per second. 
\end{DoxyReturn}


Implements \hyperlink{class_pid_motor_controller_a694ac2d6827967e8449b8d8cfd4f67b0}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_ab16237b1f4a3e49cc725f7670b5f8329}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-Table@{Get\-Table}}
\index{Get\-Table@{Get\-Table}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-Table}]{\setlength{\rightskip}{0pt plus 5cm}I\-Table $\ast$ Encoder\-Motor\-Controller\-::\-Get\-Table (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_ab16237b1f4a3e49cc725f7670b5f8329}
Get the table associated the P\-I\-D loop controller object's table.

Unless you use Network\-Tables, don't worry about this function.

\begin{DoxyReturn}{Returns}
The table associated the P\-I\-D loop controller object's table. 
\end{DoxyReturn}
\hypertarget{class_encoder_motor_controller_af68232d15fd9e415029fa288445c687d}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Get\-V\-Bus@{Get\-V\-Bus}}
\index{Get\-V\-Bus@{Get\-V\-Bus}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Get\-V\-Bus}]{\setlength{\rightskip}{0pt plus 5cm}double Encoder\-Motor\-Controller\-::\-Get\-V\-Bus (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_af68232d15fd9e415029fa288445c687d}
Gets the percentage of voltage sent to the motor where 1 represents 100\%.

\begin{DoxyReturn}{Returns}
The percentage of voltage sent to the motor where 1 represents 100\%. 
\end{DoxyReturn}
\hypertarget{class_encoder_motor_controller_a01614b9738f296c3b8a93e04828ad4da}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Init\-Table@{Init\-Table}}
\index{Init\-Table@{Init\-Table}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Init\-Table}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Init\-Table (
\begin{DoxyParamCaption}
\item[{I\-Table $\ast$}]{subtable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a01614b9738f296c3b8a93e04828ad4da}
Initializes the P\-I\-D loop controller object's table.

Unless you use Network\-Tables, don't worry about this function.


\begin{DoxyParams}{Parameters}
{\em subtable} & The table to put values in. \\
\hline
\end{DoxyParams}
\hypertarget{class_encoder_motor_controller_a9178f02fb11f9483f58b2e183855df90}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Set@{Set}}
\index{Set@{Set}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Set}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Set (
\begin{DoxyParamCaption}
\item[{float}]{value, }
\item[{U\-I\-N\-T8}]{sync\-Group = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a9178f02fb11f9483f58b2e183855df90}
Set the value of the motor.

What it sets depends on the currently set Control\-Mode.


\begin{DoxyParams}{Parameters}
{\em value} & The target value. \\
\hline
{\em sync\-Group} & Not applicable for this derived class. (The default value of this parameter will work fine.) \\
\hline
\end{DoxyParams}
\hypertarget{class_encoder_motor_controller_a070daf843ba72f0bc8fca42a00557c85}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Set\-Control\-Mode@{Set\-Control\-Mode}}
\index{Set\-Control\-Mode@{Set\-Control\-Mode}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Set\-Control\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Set\-Control\-Mode (
\begin{DoxyParamCaption}
\item[{{\bf Pid\-Motor\-Controller\-::\-Control\-Mode}}]{mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a070daf843ba72f0bc8fca42a00557c85}
Set the Control\-Mode immediately.

Warning\-: \hyperlink{struct_any}{Any} Control\-Mode passed other than Percent\-V\-Bus, Speed, or Position will throw the control\-Mode parameter as an exception.


\begin{DoxyParams}{Parameters}
{\em mode} & The desired Control\-Mode. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a2bf9cf6c4eb2c98e7af07d10f408762a}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_a9c58bd48fb4d416ab132b3ae35367e11}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Set\-Encoders\-Codes\-Per\-Revolution@{Set\-Encoders\-Codes\-Per\-Revolution}}
\index{Set\-Encoders\-Codes\-Per\-Revolution@{Set\-Encoders\-Codes\-Per\-Revolution}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Set\-Encoders\-Codes\-Per\-Revolution}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Set\-Encoders\-Codes\-Per\-Revolution (
\begin{DoxyParamCaption}
\item[{U\-I\-N\-T16}]{codes\-Per\-Revolution}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a9c58bd48fb4d416ab132b3ae35367e11}
Set the number of encoder codes per revolution.

Specify the number of encoder \char`\"{}codes\char`\"{} it takes to complete a revolution.


\begin{DoxyParams}{Parameters}
{\em codes\-Per\-Revolution} & The number of encoder codes per revolution. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_a648fbdb1ddb88b255398a63f7c875d40}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_a38618c4eac712a8a99eb1af4052b7bd9}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Set\-Pid@{Set\-Pid}}
\index{Set\-Pid@{Set\-Pid}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Set\-Pid}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Set\-Pid (
\begin{DoxyParamCaption}
\item[{double}]{p, }
\item[{double}]{i, }
\item[{double}]{d}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a38618c4eac712a8a99eb1af4052b7bd9}
Set the P, I, and D values.


\begin{DoxyParams}{Parameters}
{\em p} & The P value. \\
\hline
{\em i} & The I value. \\
\hline
{\em d} & The D value. \\
\hline
\end{DoxyParams}


Implements \hyperlink{class_pid_motor_controller_aeaa9df6864320c7aadbd1759223fea17}{Pid\-Motor\-Controller}.

\hypertarget{class_encoder_motor_controller_adaffe3e473477714456979687b5d49ba}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Start\-Live\-Window\-Mode@{Start\-Live\-Window\-Mode}}
\index{Start\-Live\-Window\-Mode@{Start\-Live\-Window\-Mode}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Start\-Live\-Window\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Start\-Live\-Window\-Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_adaffe3e473477714456979687b5d49ba}
Start Live Window mode for the P\-I\-D loop controller object.

Unless you use Live\-Window, don't worry about this function. \hypertarget{class_encoder_motor_controller_ab5f44b0310a5ed2590daa646b70843f4}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Stop\-Live\-Window\-Mode@{Stop\-Live\-Window\-Mode}}
\index{Stop\-Live\-Window\-Mode@{Stop\-Live\-Window\-Mode}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Stop\-Live\-Window\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Stop\-Live\-Window\-Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_ab5f44b0310a5ed2590daa646b70843f4}
Stop Live Window mode for the P\-I\-D loop controller object.

Unless you use Live\-Window, don't worry about this function. \hypertarget{class_encoder_motor_controller_a619fe4b5c3a9c30bcbcabfdd56b5b5cb}{\index{Encoder\-Motor\-Controller@{Encoder\-Motor\-Controller}!Update\-Table@{Update\-Table}}
\index{Update\-Table@{Update\-Table}!EncoderMotorController@{Encoder\-Motor\-Controller}}
\subsubsection[{Update\-Table}]{\setlength{\rightskip}{0pt plus 5cm}void Encoder\-Motor\-Controller\-::\-Update\-Table (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_encoder_motor_controller_a619fe4b5c3a9c30bcbcabfdd56b5b5cb}
Update the table associated the P\-I\-D loop controller object's table.

Unless you use Network\-Tables, don't worry about this function. 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Actuators/Encoder\-Motor\-Controller.\-hpp\item 
C\-:/\-Users/\-Sam/\-Projects/\-F\-R\-C/\-Libraries/\-Fpk/\-Entech-\/\-Fpk-\/\-Subscribers/\-Entech-\/\-Fpk/\-Actuators/Encoder\-Motor\-Controller.\-cpp\end{DoxyCompactItemize}
